能否用中文写代码? | 您所在的位置:网站首页 › literal 中文 › 能否用中文写代码? |
是这意思? “获取出生年大于2000的读者的邮箱、昵称,按出生年倒序排列。” 可转为 SQL 语句: SELECT 邮箱, 昵称 FROM 读者 WHERE 出生年 > 2000 ORDER BY 出生年 DESC;建议放开想象空间,各种数据格式都可看作某种 DSL,比如 XML、JSON。 以此为例,将json和xml的内容中文化后: {"员工":[ { "名":"John", "姓":"Doe" }, { "名":"Anna", "姓":"Smith" }, { "名":"Peter", "姓":"Jones" } ]}XML: John Doe Anna Smith Peter Jones借鉴中文语法的一种语言设计,这里的“三位”可以省去,也可以用于校验数据完整性,与自然语言类似;名、姓两个属性名不需重复三次;按自然语言习惯,默认所有值为字符串类型,可以额外指定其他类型如数值等: 三位员工, 名、姓为 John、Doe, Anna、Smith, Peter、Jones同样值得关注的,是数据出现格式错误时的反馈信息如何设计。 JSON 的解析报错信息中,小半与支持的数据格式有关: ## 指数 SyntaxError: JSON.parse: missing digits after exponent indicatorSyntaxError: JSON.parse: missing digits after exponent signSyntaxError: JSON.parse: exponent part is missing a number ## 字符串 SyntaxError: JSON.parse: unterminated string literalSyntaxError: JSON.parse: bad control character in string literalSyntaxError: JSON.parse: bad character in string literalSyntaxError: JSON.parse: bad Unicode escapeSyntaxError: JSON.parse: bad escape characterSyntaxError: JSON.parse: unterminated string ## 小数 分数 负数格式 SyntaxError: JSON.parse: missing digits after decimal pointSyntaxError: JSON.parse: unterminated fractional numberSyntaxError: JSON.parse: no number after minus sign 余下的二十个左右多数与它的几个核心概念有关: keywordobjectproperty name/value 属性名必须用双引号,相关报错有:SyntaxError: JSON.parse: expected double-quoted property nameSyntaxError: JSON.parse: property names must be double-quoted strings 这一限制在上面的中文设计中没有,即不需特殊符号标记属性名。 还有属性值后必须是逗号或者 } 结束,相关报错有: SyntaxError: JSON.parse: end of data after property value in objectSyntaxError: JSON.parse: expected ',' or '}' after property value in objectSyntaxError: JSON.parse: expected ',' or '}' after property-value pair in object literal 中文设计中,每条数据之间如果已经分行或空格,逗号分隔可以省去。 比如: JSON.parse('{"员工": [{ "名":"John", "姓":"Doe" s}]}') Uncaught SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1 column 33 of the JSON data如果中文: 一位员工, 名、姓为 John、Doe s如果把空格后的s识别为另一条数据,那么可以这样报警: 第二位员工的名为s,姓为空,是吗?与“一位”员工矛盾。反馈信息尽量业务相关,而不是仅告知“这么写就错了”。而且尽量对用户的输入格式尽量”宽容“。 【待续】 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |